<!DOCTYPE html>
<!-- saved from url=(0077)https://wiki.n.miui.com/plugins/viewsource/viewpagesrc.action?pageId=64161957 -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>查看源</title>
        <link rel="canonical" href="https://wiki.n.miui.com/pages/viewpage.action?pageId=$action.page.id">
        <script>
window.WRM=window.WRM||{};window.WRM._unparsedData=window.WRM._unparsedData||{};window.WRM._unparsedErrors=window.WRM._unparsedErrors||{};
WRM._unparsedData["com.atlassian.plugins.atlassian-plugins-webresource-plugin:context-path.context-path"]="\u0022\u0022";
if(window.WRM._dataArrived)window.WRM._dataArrived();</script>
<link type="text/css" rel="stylesheet" href="./index_files/batch.css" data-wrm-key="_super" data-wrm-batch-type="context" media="all">
<!--[if lt IE 9]>
<link type="text/css" rel="stylesheet" href="/s/51f05e6de629128772c5537e002a7369-CDN/zh_CN/7502/340b75d71415eda8adf77a2ec8189dfe8b18deb1/005b7fef6334f1adac91bdf89df365a5/_/download/contextbatch/css/_super/batch.css?conditionalComment=lt+IE+9" data-wrm-key="_super" data-wrm-batch-type="context" media="all">
<![endif]-->
<!--[if lte IE 9]>
<link type="text/css" rel="stylesheet" href="/s/51f05e6de629128772c5537e002a7369-CDN/zh_CN/7502/340b75d71415eda8adf77a2ec8189dfe8b18deb1/005b7fef6334f1adac91bdf89df365a5/_/download/contextbatch/css/_super/batch.css?conditionalComment=lte+IE+9" data-wrm-key="_super" data-wrm-batch-type="context" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="./index_files/batch(1).css" data-wrm-key="plugin.viewsource,-_super" data-wrm-batch-type="context" media="all">
<link type="text/css" rel="stylesheet" href="./index_files/batch(2).css" data-wrm-key="page,-_super" data-wrm-batch-type="context" media="all">
<link type="text/css" rel="stylesheet" href="./index_files/batch(3).css" data-wrm-key="editor-content,-_super" data-wrm-batch-type="context" media="all">
<!--[if lte IE 9]>
<link type="text/css" rel="stylesheet" href="/s/c9b6512fe2bd6ba952842e488ce0470d-CDN/zh_CN/7502/340b75d71415eda8adf77a2ec8189dfe8b18deb1/316fd884377158e1463a733e3468e6cd/_/download/contextbatch/css/editor-content,-_super/batch.css?conditionalComment=lte+IE+9&amp;confluence.table.resizable=true&amp;confluence.view.edit.transition=true" data-wrm-key="editor-content,-_super" data-wrm-batch-type="context" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="./index_files/custom.css" media="all">

    </head>

    <body class="mceContentBody aui-theme-default wiki-content fullsize">
        <p>&nbsp;</p>         <h2>简介</h2><hr><p>MIBLE底层通用接口，是对蓝牙BLE协议栈的封装，与各硬件平台和协议栈解绑。 米家蓝牙BLE的所有应用将构建在此套接口之上。米家BLE软件层次架构如下图所示。</p><p><img class="confluence-embedded-image" src="./index_files/image2019-1-31_18-6-8.png" data-image-src="/download/attachments/64161957/image2019-1-31_18-6-8.png?version=1&amp;modificationDate=1548929169000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="141248011" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2019-1-31_18-6-8.png" data-base-url="https://wiki.n.miui.com" data-linked-resource-content-type="image/png" data-linked-resource-container-id="64161957" data-linked-resource-container-version="15" title="Miot 嵌入式 &gt; MIBLE 底层通用接口 &gt; image2019-1-31_18-6-8.png" data-location="Miot 嵌入式 &gt; MIBLE 底层通用接口 &gt; image2019-1-31_18-6-8.png" data-image-height="645" data-image-width="1224"></p><h2>代码链接</h2><hr><p><a href="https://github.com/MiEcosystem/mijia_ble_api">https://github.com/MiEcosystem/mijia_ble_api</a></p><p>其中master分支为 MIBLE 底层接口定义，请查看打tag的稳定版本。</p><p>develop-2.x分支为2.0接口的工作分支，增加Mesh，gattc等接口。</p><p>其余分支为各芯片公司对接口的实现。</p><h2>函数列表</h2><hr><table class="wrapped relative-table confluenceTable"><colgroup><col style="width: 91.0px;"><col style="width: 316.0px;"><col style="width: 261.0px;"><col style="width: 106.0px;"><col style="width: 115.0px;"><col style="width: 136.0px;"><col><col style="width: 720.0px;"></colgroup><tbody><tr><th style="text-align: left;" class="confluenceTh">类别</th><th style="text-align: left;" class="confluenceTh">函数名</th><th style="text-align: left;" class="confluenceTh">含义</th><th colspan="1" class="confluenceTh">米家标准接入协议</th><th colspan="1" class="confluenceTh">米家安全协议</th><th colspan="1" class="confluenceTh"><span>米家MESH协议设备端</span></th><th colspan="1" class="confluenceTh">蓝牙网关</th><th style="text-align: left;" colspan="1" class="confluenceTh">说明</th></tr><tr><td style="text-align: left;" rowspan="12" class="confluenceTd">事件回调函数以及注册</td><td style="text-align: left;" class="confluenceTd">mible_gap_event_callback</td><td style="text-align: left;" class="confluenceTd">GAP 相关回调函数</td><td colspan="1" class="confluenceTd">√</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" rowspan="12" class="confluenceTd"><p>各平台底层需支持回调函数（在合适的地方调用），上层应用负责实现回调函数内的内容；</p><p>注册和注销回调函数在mible_api.c中已实现，也可以自行实现。</p></td></tr><tr><td style="text-align: left;" class="confluenceTd">mible_gatts_event_callback</td><td style="text-align: left;" class="confluenceTd">GATT Server 相关回调函数</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td></tr><tr><td style="text-align: left;" class="confluenceTd">mible_gattc_event_callback</td><td style="text-align: left;" class="confluenceTd">GATT Client 相关回调函数</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td></tr><tr><td style="text-align: left;" class="confluenceTd">mible_arch_event_callback</td><td style="text-align: left;" class="confluenceTd">MIBLE 接口相关回调函数</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td></tr><tr><td colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gap_register</span></td><td colspan="1" class="confluenceTd">注册gap回调</td><td colspan="1" class="confluenceTd">option</td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td></tr><tr><td colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gap_unregister</span></td><td colspan="1" class="confluenceTd"><span>注销gap回调</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>option</span></td></tr><tr><td colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gattc_register</span></td><td colspan="1" class="confluenceTd"><span>注册gattc回调</span></td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td></tr><tr><td colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gattc_unregister</span></td><td colspan="1" class="confluenceTd"><span>注销gattc回调</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>option</span></td></tr><tr><td colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gatts_register</span></td><td colspan="1" class="confluenceTd"><span>注册gatts回调</span></td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td></tr><tr><td colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gatts_unregister</span></td><td colspan="1" class="confluenceTd"><span>注销gatts回调</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>option</span></td></tr><tr><td colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_arch_register</span></td><td colspan="1" class="confluenceTd"><span>注册arch回调</span></td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td><td colspan="1" class="confluenceTd"><span>option</span></td></tr><tr><td colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_arch_unregister</span></td><td colspan="1" class="confluenceTd"><span>注销arch回调</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td></tr><tr><td style="text-align: left;" rowspan="9" class="confluenceTd">GAP 相关 API</td><td style="text-align: left;" class="confluenceTd">mible_gap_address_get</td><td style="text-align: left;" class="confluenceTd">获得本地 MAC 地址</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">小端对齐</td></tr><tr><td style="text-align: left;" class="confluenceTd">mible_gap_scan_start</td><td style="text-align: left;" class="confluenceTd">设置扫描参数，并开启扫描</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">扫描到的数据通过 MIBLE_GAP_EVT_ADV_REPORT 事件通知应用层</td></tr><tr><td style="text-align: left;" class="confluenceTd">mible_gap_scan_stop</td><td style="text-align: left;" class="confluenceTd">扫描结束</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" colspan="1" class="confluenceTd"><br></td></tr><tr><td colspan="1" class="confluenceTd">mible_gap_adv_start</td><td colspan="1" class="confluenceTd">广播开始</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd">可以重复开启</td></tr><tr><td colspan="1" class="confluenceTd">mible_gap_adv_data_set</td><td colspan="1" class="confluenceTd">设置广播数据</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td></tr><tr><td colspan="1" class="confluenceTd">mible_gap_adv_stop</td><td colspan="1" class="confluenceTd">广播结束</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td></tr><tr><td style="text-align: left;" class="confluenceTd">mible_gap_connect</td><td style="text-align: left;" class="confluenceTd">设置连接参数并启动连接</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">连接成功后，通过 MIBLE_GAP_EVT_CONNECTED 事件通知应用层</td></tr><tr><td style="text-align: left;" class="confluenceTd">mible_gap_disconnect</td><td style="text-align: left;" class="confluenceTd">断开连接</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">断开连接后，通过 MIBLE_GAP_EVT_DISCONNECT 事件通知应用层</td></tr><tr><td style="text-align: left;" class="confluenceTd">mible_gap_update_conn_params</td><td style="text-align: left;" class="confluenceTd">更新连接参数</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">更新连接参数完成后，通过 MIBLE_GAP_EVT_CONN_PARAM_UPDATE 事件通知应用层</td></tr><tr><td style="text-align: left;" rowspan="5" class="confluenceTd">GATTS 相关 API</td><td style="text-align: left;" class="confluenceTd">mible_gatts_service_init</td><td style="text-align: left;" class="confluenceTd">属性服务器初始化</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" colspan="1" class="confluenceTd"><p>属性服务及特征的初始化。异步操作，初始化成功后，通过MIBLE_ARCH_EVT_GATTS_SRV_INIT_CMP事件通知应用层。</p><p>注意：1、通过函数参数mible_gatts_db_t 类型指针指向的初始化空间，仅仅用于初始化，初始化完成后会由应用层释放调。2、<span>参数中部分用于[OUT]，服务和特性的handle为输出量。</span></p></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_gatts_value_set</td><td style="text-align: left;" colspan="1" class="confluenceTd">设置本地属性</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">注意参数中部分用于[OUT]</td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_gatts_value_get</td><td style="text-align: left;" colspan="1" class="confluenceTd">获取本地属性</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" colspan="1" class="confluenceTd"><span>注意参数中部分用于[OUT]</span></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_gatts_notify_or_indicate</td><td style="text-align: left;" colspan="1" class="confluenceTd">设置char的值并且发送 notification 或 indication</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" colspan="1" class="confluenceTd"><br></td></tr><tr><td colspan="1" class="confluenceTd">mible_gatts_rw_auth_reply</td><td colspan="1" class="confluenceTd">读写回复</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd">此函数用于需要应用层鉴权的读写操作回复。</td></tr><tr><td style="text-align: left;" rowspan="6" class="confluenceTd">GATTC 相关 API</td><td style="text-align: left;" colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gattc_service_discovery</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">通过 UUID 的服务发现</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td style="text-align: left;" rowspan="6" class="confluenceTd">蓝牙BLE单模设备，暂时不需要支持此部分。网关需支持。<br><br><br><br><br><br></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gattc_set_cccd</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">设置对端cccd</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gattc_confirm_indication</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">回复对方发来的indication</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td></tr><tr><td colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gattc_read_value</span></td><td colspan="1" class="confluenceTd">读取对端特征值</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gattc_write_value</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">有回复的写入</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_gattc_write_without_response</span></td><td style="text-align: left;" colspan="1" class="confluenceTd">无回复的写入</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td></tr><tr><td style="text-align: left;" rowspan="4" class="confluenceTd">Timer 相关 API</td><td style="text-align: left;" colspan="1" class="confluenceTd">mible_timer_create</td><td style="text-align: left;" colspan="1" class="confluenceTd">创建一个 软件定时器</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd">返回一个 timer handle</td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_timer_delete</td><td style="text-align: left;" colspan="1" class="confluenceTd">删除一个 <span>软件定时器</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd"><br></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_timer_start</td><td style="text-align: left;" colspan="1" class="confluenceTd">开启<span>软件定时器</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd">可重复开启</td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_timer_stop</td><td style="text-align: left;" colspan="1" class="confluenceTd">停止<span>软件定时器</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd"><br></td></tr><tr><td style="text-align: left;" rowspan="7" class="confluenceTd">Flash 相关 API</td><td style="text-align: left;" colspan="1" class="confluenceTd">mible_record_create</td><td style="text-align: left;" colspan="1" class="confluenceTd">创建一条记录</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd"><span>至少支持 8 个 record id 的管理，总大小不超过1KB。同步操作。</span></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_record_delete</td><td style="text-align: left;" colspan="1" class="confluenceTd">删除一条记录</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd"><span>异步操作，完成后通过 MIBLE_ARCH_EVT_RECORD_DELETE 通知应用层。</span></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_record_read</td><td style="text-align: left;" colspan="1" class="confluenceTd">读一条记录</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd"><span>同步操作。</span></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_record_write</td><td style="text-align: left;" colspan="1" class="confluenceTd">写入一条记录</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd">异步操作，写flash完成后，<span>通过 </span><span>MIBLE_ARCH_EVT_RECORD_WRITE 通知应用层。若重复写入，则覆盖旧数据</span><span>。</span></td></tr><tr><td colspan="1" class="confluenceTd">mible_nvm_init</td><td colspan="1" class="confluenceTd">初始化 Non-Volatile Memory 操作单元</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd">同步初始化。</td></tr><tr><td colspan="1" class="confluenceTd">mible_nvm_write</td><td colspan="1" class="confluenceTd">将数据写入指定地址</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd">同步写入。</td></tr><tr><td colspan="1" class="confluenceTd">mible_nvm_read</td><td colspan="1" class="confluenceTd">从指定地址读取数据</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd">同步读取。</td></tr><tr><td style="text-align: left;" rowspan="5" class="confluenceTd">其他<br><br><br><br></td><td style="text-align: left;" colspan="1" class="confluenceTd">mible_rand_num_generator</td><td style="text-align: left;" colspan="1" class="confluenceTd">获得真随机数</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd">硬件随机数生成器</td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_aes128_encrypt</td><td style="text-align: left;" colspan="1" class="confluenceTd">AES-128加密</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd">对16字节数据进行AES加密，不足16字节，用0补全。<span>注意参数中部分用于[OUT]</span></td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_task_post</td><td style="text-align: left;" colspan="1" class="confluenceTd">将非实时性函数加入任务队列（依据协议栈选择在合适位置执行）</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd">将待执行函数加入任务队列，待以后在 non-interrupt context 中执行。这些任务会调用 MIBLE API。</td></tr><tr><td style="text-align: left;" colspan="1" class="confluenceTd">mible_task_exec</td><td style="text-align: left;" colspan="1" class="confluenceTd">执行任务队列中的函数</td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td style="text-align: left;" colspan="1" class="confluenceTd"><span>有 RTOS 调度的平台可以通过创建一个低优先级 thread 执行应用层函数；没有 RTOS 的平台可以在 main loop 中执行。</span></td></tr><tr><td colspan="1" class="confluenceTd">mible_upgrade_firmware</td><td colspan="1" class="confluenceTd">进行固件切换</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>进行固件切换</span></td></tr><tr><td rowspan="5" class="confluenceTd">I2C 相关 API</td><td colspan="1" class="confluenceTd">mible_iic_init</td><td colspan="1" class="confluenceTd">初始化IIC驱动</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd">初始化一组硬件 I2C 接口，包括相应 I/O，时钟，中断。</td></tr><tr><td colspan="1" class="confluenceTd">mible_iic_uninit</td><td colspan="1" class="confluenceTd">反初始化</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>初始化一组硬件 I2C 接口，<span>包括相应 I/O，时钟，中断。</span></span></td></tr><tr><td colspan="1" class="confluenceTd">mible_iic_tx</td><td colspan="1" class="confluenceTd">向 IIC slave 发送数据</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd">非阻塞实现，完成后调用初始化时定义的回调函数。</td></tr><tr><td colspan="1" class="confluenceTd">mible_iic_rx</td><td colspan="1" class="confluenceTd">从 <span>IIC slave 接收数据</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>非阻塞实现<span>，完成后<span>调用</span>初始化时定义的回调<span>函数</span>。</span></span></td></tr><tr><td colspan="1" class="confluenceTd"><span style="color: rgb(0,51,102);">mible_iic_scl_pin_read</span></td><td colspan="1" class="confluenceTd">检查IIC SCL引脚</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td></tr><tr><td class="confluenceTd">Mesh相关</td><td colspan="1" class="confluenceTd">mible_mesh_api.h</td><td colspan="1" class="confluenceTd">Mesh相关接口</td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><br></td><td colspan="1" class="confluenceTd"><span>√</span></td><td colspan="1" class="confluenceTd">Mesh网关需要适配此文件</td></tr></tbody></table>
        <p>&nbsp;</p>
    

</body></html>